Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add poisson-boltzmann to the SCRF #450

Merged
merged 31 commits into from
Feb 14, 2024

Conversation

Gabrielgerez
Copy link
Contributor

Here I have added the alternative to solve the 1:1 Poisson-Boltzmann equation as a part of the SCRF procedure. Right now the parameters are hardcoded but will soon make them user-determined.

@Gabrielgerez Gabrielgerez added the WIP Work in progress label Apr 17, 2023
@Gabrielgerez Gabrielgerez added feature and removed WIP Work in progress labels Apr 27, 2023
@Gabrielgerez Gabrielgerez force-pushed the pb-solvation branch 3 times, most recently from 41bf762 to 00af300 Compare October 2, 2023 14:47
@codecov
Copy link

codecov bot commented Oct 2, 2023

Codecov Report

Attention: 10 lines in your changes are missing coverage. Please review.

Comparison is base (b94438c) 70.31% compared to head (1238bd9) 70.54%.

Files Patch % Lines
src/driver.cpp 73.07% 7 Missing ⚠️
src/environment/Cavity.h 0.00% 2 Missing ⚠️
src/qmoperators/two_electron/ReactionPotential.h 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #450      +/-   ##
==========================================
+ Coverage   70.31%   70.54%   +0.22%     
==========================================
  Files         190      195       +5     
  Lines       15308    15446     +138     
==========================================
+ Hits        10764    10896     +132     
- Misses       4544     4550       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Gabrielgerez Gabrielgerez marked this pull request as ready for review October 4, 2023 11:49
python/template.yml Outdated Show resolved Hide resolved
src/environment/Cavity.h Outdated Show resolved Hide resolved
src/environment/Cavity.h Outdated Show resolved Hide resolved
src/driver.cpp Outdated Show resolved Hide resolved
src/environment/DHScreening.cpp Outdated Show resolved Hide resolved
src/environment/GPESolver.h Outdated Show resolved Hide resolved
src/environment/PBESolver.h Outdated Show resolved Hide resolved
src/qmfunctions/qmfunction_utils.h Outdated Show resolved Hide resolved
@Gabrielgerez Gabrielgerez force-pushed the pb-solvation branch 2 times, most recently from a711ab7 to 6018064 Compare November 22, 2023 10:57
python/mrchem/api.py Outdated Show resolved Hide resolved
python/template.yml Outdated Show resolved Hide resolved
Add additional input for pb equation, all other tests passing, error with ion_radius variable

add a harcoded to pass test for pb

fix json error

mid debug commit, the run_pb block produces different convergence despite being identical to the standard
Faster pb and lpb solver and proper test
Comment on lines +28 to +32
from .helpers import (parse_wf_method, write_rsp_calc, write_scf_fock,
write_scf_guess, write_scf_plot, write_scf_properties,
write_scf_solver)
from .periodictable import PeriodicTable as PT
from .periodictable import PeriodicTableByZ as PT_Z
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did black and isort do this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, I did not edit this part of the file as far as I remember

Comment on lines +1117 to +1119
DHScreening dhscreening(cavity_ion, kappa_o, kformulation); // this is now deciding the pb formulation, but it really shouldn't, the formulation here is for the DHScreening where we
// have 4 different parametrizations, not all implemented yet.
dhscreening.printParameters();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these lines are repeated between PB and LPB. Can they be moved outside the if statements? Also, the comment doesn't seem to be relevant?

@ilfreddy ilfreddy merged commit 698e74f into MRChemSoft:master Feb 14, 2024
10 checks passed
gitpeterwind pushed a commit to gitpeterwind/mrchem that referenced this pull request Aug 5, 2024
* add poisson-boltzmann to the SCRF

Add additional input for pb equation, all other tests passing, error with ion_radius variable

add a harcoded to pass test for pb

fix json error

mid debug commit, the run_pb block produces different convergence despite being identical to the standard

* PB working as intended (within a reasonable domain)

Faster pb and lpb solver and proper test

* add test for linearized pb

* Rename SCRF to GPESolver in preparation for
refactor.

Use inheritance to implement PBESolver and LPBESolver

Rename GPESolver::solveEquation to iterateEquation

* Add new test references to pb and lpb solvent

Update tests and Fix correct solvers running

Add proper capitalisation to Debye-Huckel

Co-authored-by: Roberto Di Remigio Eikås <[email protected]>

Remove unused setters in Cavity

Co-authored-by: Roberto Di Remigio Eikås <[email protected]>

Pass parameters by const reference

Co-authored-by: Roberto Di Remigio Eikås <[email protected]>

* fix tests for pb solver

* Add documentation to the solvent classes

* Add DHScreening to the StepFunction hierarchy

* Reorder includes

* Update python/template.yml

Co-authored-by: Roberto Di Remigio Eikås <[email protected]>

* Update python/mrchem/api.py

Co-authored-by: Roberto Di Remigio Eikås <[email protected]>

* Post-rebase fixes

* Formatting

* debugging

* more debugging

* even more debugging

* BUGFIX in PB_solver.cpp: rho_el was not zero and the ordering of the energy outputs of GPESolver was wrong

* real BUGFIX: same as above but relax the thrs, we are running it with 1.0e-3 prec after all

* attempt to fix test error

* update python version for tests

* update python version for singularity images

* update python version for circleci config

* Use newer base image with CircleCI

* update minimum python requirements in installation.rst

* create cavity even if we are running pb or lpb

* use proper dividor

* Be more consistent

* Update input for PCM

* rebase fix

* rebase fix

* all tests passing and PB_solver is correct

---------

Co-authored-by: Roberto Di Remigio Eikås <[email protected]>
Co-authored-by: Roberto Di Remigio Eikås <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants